package monitormercado.apresentacao.util;

import java.util.StringTokenizer;

import monitormercado.apresentacao.excecao.CampoInvalidoException;

public class ValidacaoUtils {
	
	public static void validarData(String data) throws CampoInvalidoException {
		
		if (data == null || data.equals(""))
			throw new CampoInvalidoException(CampoInvalidoException.NULO);
		
		StringTokenizer tokenizer = new StringTokenizer(data, "/");
		
		if (tokenizer.countTokens() != 3) {
			throw new CampoInvalidoException(CampoInvalidoException.FORMATO_INVALIDO);
		}
		
		try {
			int dia = Integer.parseInt(tokenizer.nextToken());
			int mes = Integer.parseInt(tokenizer.nextToken());
			int ano = Integer.parseInt(tokenizer.nextToken());
			
			if (dia < 0 || dia > 31 || mes < 0 || mes > 12 || ano < 0)
				throw new CampoInvalidoException(CampoInvalidoException.DADO_INEXISTENTE);
			
		} catch (NumberFormatException nfe) {
			throw new CampoInvalidoException(CampoInvalidoException.FORMATO_INVALIDO);
		}
	
	}
	
	public static void validarValorMonetario(String valor) throws CampoInvalidoException {
		// TODO
	}
	
	public static void validarInteiroFormatado(String valor) throws CampoInvalidoException {
		// TODO
	}
	
}
